09. 文本:虚拟变量

虚拟变量的数学原理

在上个视频中,你知道了要往线性模型里添加分类变量,就需要把分类变量转变为 虚拟变量

转化后,你需要舍弃一个 虚拟列 ,才能得到 满秩 矩阵。

回想一下回归系数闭式解那节内容,我们得用 (X'X)^-X'y 来预测 \beta 值。

为了逆转 (X'X) ,矩阵 X 一定要是满秩的,也就是说,所有 X 的列都必须线性独立。

创建虚拟变量时,如果你不舍弃掉一列,那你就得不到稳定解,从 python 里得到的结果也不会可靠到哪去。下个概念会有示例,你将从中了解不舍弃一个虚拟列的话,会有什么后果。

本文重点在于 如果你要用 0 、1 编码来创建虚拟变量,你就得舍弃一个虚拟列,确保所得矩阵是满秩的(这样你从 python 里得到的解才会是可靠的。)

之所以要这么做,原因就在于线性代数的本质,更具体地说,要逆转矩阵,你手里的矩阵必须是满秩的 (也就是所有列都得线性独立),因此,你得舍弃掉一个虚拟列,方能得到线性独立的各列 (和一个满秩矩阵)。